#include "BulletDynamics/ConstraintSolver/btContactSolverInfo.h"
#ifdef __cplusplus
extern "C" {
#endif
btContactSolverInfoFloatData* bullet_NewbtContactSolverInfoFloatData(){
	btContactSolverInfoFloatData* wrap_out = new btContactSolverInfoFloatData();
	return wrap_out;
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_articulatedWarmstartingFactor(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_articulatedWarmstartingFactor);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_damping(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_damping);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_erp(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_erp);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_erp2(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_erp2);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_friction(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_friction);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_globalCfm(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_globalCfm);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_linearSlop(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_linearSlop);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_maxErrorReduction(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_maxErrorReduction);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_maxGyroscopicForce(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_maxGyroscopicForce);
}

int bullet_btContactSolverInfoFloatData_GetFieldOfM_minimumSolverBatchSize(btContactSolverInfoFloatData* c_this){
	return (int)(c_this->m_minimumSolverBatchSize);
}

int bullet_btContactSolverInfoFloatData_GetFieldOfM_numIterations(btContactSolverInfoFloatData* c_this){
	return (int)(c_this->m_numIterations);
}

int bullet_btContactSolverInfoFloatData_GetFieldOfM_restingContactRestitutionThreshold(btContactSolverInfoFloatData* c_this){
	return (int)(c_this->m_restingContactRestitutionThreshold);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_restitution(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_restitution);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_singleAxisRollingFrictionThreshold(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_singleAxisRollingFrictionThreshold);
}

int bullet_btContactSolverInfoFloatData_GetFieldOfM_solverMode(btContactSolverInfoFloatData* c_this){
	return (int)(c_this->m_solverMode);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_sor(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_sor);
}

int bullet_btContactSolverInfoFloatData_GetFieldOfM_splitImpulse(btContactSolverInfoFloatData* c_this){
	return (int)(c_this->m_splitImpulse);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_splitImpulsePenetrationThreshold(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_splitImpulsePenetrationThreshold);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_splitImpulseTurnErp(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_splitImpulseTurnErp);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_tau(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_tau);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_timeStep(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_timeStep);
}

float bullet_btContactSolverInfoFloatData_GetFieldOfM_warmstartingFactor(btContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_warmstartingFactor);
}

btContactSolverInfoDoubleData* bullet_NewbtContactSolverInfoDoubleData(){
	btContactSolverInfoDoubleData* wrap_out = new btContactSolverInfoDoubleData();
	return wrap_out;
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_articulatedWarmstartingFactor(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_articulatedWarmstartingFactor);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_damping(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_damping);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_erp(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_erp);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_erp2(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_erp2);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_friction(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_friction);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_globalCfm(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_globalCfm);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_linearSlop(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_linearSlop);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_maxErrorReduction(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_maxErrorReduction);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_maxGyroscopicForce(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_maxGyroscopicForce);
}

int bullet_btContactSolverInfoDoubleData_GetFieldOfM_minimumSolverBatchSize(btContactSolverInfoDoubleData* c_this){
	return (int)(c_this->m_minimumSolverBatchSize);
}

int bullet_btContactSolverInfoDoubleData_GetFieldOfM_numIterations(btContactSolverInfoDoubleData* c_this){
	return (int)(c_this->m_numIterations);
}

char** bullet_btContactSolverInfoDoubleData_GetFieldOfM_padding(btContactSolverInfoDoubleData* c_this){
	return (char**)(&c_this->m_padding);
}

int bullet_btContactSolverInfoDoubleData_GetFieldOfM_restingContactRestitutionThreshold(btContactSolverInfoDoubleData* c_this){
	return (int)(c_this->m_restingContactRestitutionThreshold);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_restitution(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_restitution);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_singleAxisRollingFrictionThreshold(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_singleAxisRollingFrictionThreshold);
}

int bullet_btContactSolverInfoDoubleData_GetFieldOfM_solverMode(btContactSolverInfoDoubleData* c_this){
	return (int)(c_this->m_solverMode);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_sor(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_sor);
}

int bullet_btContactSolverInfoDoubleData_GetFieldOfM_splitImpulse(btContactSolverInfoDoubleData* c_this){
	return (int)(c_this->m_splitImpulse);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_splitImpulsePenetrationThreshold(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_splitImpulsePenetrationThreshold);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_splitImpulseTurnErp(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_splitImpulseTurnErp);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_tau(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_tau);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_timeStep(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_timeStep);
}

double bullet_btContactSolverInfoDoubleData_GetFieldOfM_warmstartingFactor(btContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_warmstartingFactor);
}

btContactSolverInfoData* bullet_NewbtContactSolverInfoData(){
	btContactSolverInfoData* wrap_out = new btContactSolverInfoData();
	return wrap_out;
}

double bullet_btContactSolverInfoData_GetFieldOfM_articulatedWarmstartingFactor(btContactSolverInfoData* c_this){
	return (double)(c_this->m_articulatedWarmstartingFactor);
}

double bullet_btContactSolverInfoData_GetFieldOfM_damping(btContactSolverInfoData* c_this){
	return (double)(c_this->m_damping);
}

double bullet_btContactSolverInfoData_GetFieldOfM_deformable_cfm(btContactSolverInfoData* c_this){
	return (double)(c_this->m_deformable_cfm);
}

double bullet_btContactSolverInfoData_GetFieldOfM_deformable_erp(btContactSolverInfoData* c_this){
	return (double)(c_this->m_deformable_erp);
}

double bullet_btContactSolverInfoData_GetFieldOfM_deformable_maxErrorReduction(btContactSolverInfoData* c_this){
	return (double)(c_this->m_deformable_maxErrorReduction);
}

double bullet_btContactSolverInfoData_GetFieldOfM_erp(btContactSolverInfoData* c_this){
	return (double)(c_this->m_erp);
}

double bullet_btContactSolverInfoData_GetFieldOfM_erp2(btContactSolverInfoData* c_this){
	return (double)(c_this->m_erp2);
}

double bullet_btContactSolverInfoData_GetFieldOfM_friction(btContactSolverInfoData* c_this){
	return (double)(c_this->m_friction);
}

double bullet_btContactSolverInfoData_GetFieldOfM_frictionCFM(btContactSolverInfoData* c_this){
	return (double)(c_this->m_frictionCFM);
}

double bullet_btContactSolverInfoData_GetFieldOfM_frictionERP(btContactSolverInfoData* c_this){
	return (double)(c_this->m_frictionERP);
}

double bullet_btContactSolverInfoData_GetFieldOfM_globalCfm(btContactSolverInfoData* c_this){
	return (double)(c_this->m_globalCfm);
}

bool bullet_btContactSolverInfoData_GetFieldOfM_jointFeedbackInJointFrame(btContactSolverInfoData* c_this){
	return (bool)(c_this->m_jointFeedbackInJointFrame);
}

bool bullet_btContactSolverInfoData_GetFieldOfM_jointFeedbackInWorldSpace(btContactSolverInfoData* c_this){
	return (bool)(c_this->m_jointFeedbackInWorldSpace);
}

double bullet_btContactSolverInfoData_GetFieldOfM_leastSquaresResidualThreshold(btContactSolverInfoData* c_this){
	return (double)(c_this->m_leastSquaresResidualThreshold);
}

double bullet_btContactSolverInfoData_GetFieldOfM_linearSlop(btContactSolverInfoData* c_this){
	return (double)(c_this->m_linearSlop);
}

double bullet_btContactSolverInfoData_GetFieldOfM_maxErrorReduction(btContactSolverInfoData* c_this){
	return (double)(c_this->m_maxErrorReduction);
}

double bullet_btContactSolverInfoData_GetFieldOfM_maxGyroscopicForce(btContactSolverInfoData* c_this){
	return (double)(c_this->m_maxGyroscopicForce);
}

int bullet_btContactSolverInfoData_GetFieldOfM_minimumSolverBatchSize(btContactSolverInfoData* c_this){
	return (int)(c_this->m_minimumSolverBatchSize);
}

int bullet_btContactSolverInfoData_GetFieldOfM_numIterations(btContactSolverInfoData* c_this){
	return (int)(c_this->m_numIterations);
}

int bullet_btContactSolverInfoData_GetFieldOfM_numNonContactInnerIterations(btContactSolverInfoData* c_this){
	return (int)(c_this->m_numNonContactInnerIterations);
}

int bullet_btContactSolverInfoData_GetFieldOfM_reportSolverAnalytics(btContactSolverInfoData* c_this){
	return (int)(c_this->m_reportSolverAnalytics);
}

int bullet_btContactSolverInfoData_GetFieldOfM_restingContactRestitutionThreshold(btContactSolverInfoData* c_this){
	return (int)(c_this->m_restingContactRestitutionThreshold);
}

double bullet_btContactSolverInfoData_GetFieldOfM_restitution(btContactSolverInfoData* c_this){
	return (double)(c_this->m_restitution);
}

double bullet_btContactSolverInfoData_GetFieldOfM_restitutionVelocityThreshold(btContactSolverInfoData* c_this){
	return (double)(c_this->m_restitutionVelocityThreshold);
}

double bullet_btContactSolverInfoData_GetFieldOfM_singleAxisRollingFrictionThreshold(btContactSolverInfoData* c_this){
	return (double)(c_this->m_singleAxisRollingFrictionThreshold);
}

int bullet_btContactSolverInfoData_GetFieldOfM_solverMode(btContactSolverInfoData* c_this){
	return (int)(c_this->m_solverMode);
}

double bullet_btContactSolverInfoData_GetFieldOfM_sor(btContactSolverInfoData* c_this){
	return (double)(c_this->m_sor);
}

int bullet_btContactSolverInfoData_GetFieldOfM_splitImpulse(btContactSolverInfoData* c_this){
	return (int)(c_this->m_splitImpulse);
}

double bullet_btContactSolverInfoData_GetFieldOfM_splitImpulsePenetrationThreshold(btContactSolverInfoData* c_this){
	return (double)(c_this->m_splitImpulsePenetrationThreshold);
}

double bullet_btContactSolverInfoData_GetFieldOfM_splitImpulseTurnErp(btContactSolverInfoData* c_this){
	return (double)(c_this->m_splitImpulseTurnErp);
}

double bullet_btContactSolverInfoData_GetFieldOfM_tau(btContactSolverInfoData* c_this){
	return (double)(c_this->m_tau);
}

double bullet_btContactSolverInfoData_GetFieldOfM_timeStep(btContactSolverInfoData* c_this){
	return (double)(c_this->m_timeStep);
}

double bullet_btContactSolverInfoData_GetFieldOfM_warmstartingFactor(btContactSolverInfoData* c_this){
	return (double)(c_this->m_warmstartingFactor);
}

btContactSolverInfo* bullet_NewbtContactSolverInfo(){
	btContactSolverInfo* wrap_out = new btContactSolverInfo();
	return wrap_out;
}

#ifdef __cplusplus
}
#endif
